// Perspective
// (c) jimon game studio

#ifndef JEH_CPERSPECTIVE_GAME
#define JEH_CPERSPECTIVE_GAME

#include "IPerspective_Game.h"
#include "ISceneManager.h"

//#include "jeSoundResource.h"

namespace je
{
	namespace app
	{
		//! Perspective
		class CPerspective_Game:public je::app::IPerspective_Game
		{
		private:
			u1 Run;
			video::jeRenderWindow * CurrentRenderWindow;
			scene::ISceneManager * SceneManager;
			scene::ICameraSceneNode * Camera;

			//media::jeSoundResource * Sound;

			//! Create Scene
			void CreateScene();

			//! Save Game To File
			void SaveGameToFile(const jeStringd & FileName);

			//! Load Game From File
			void LoadGameFromFile(const jeStringd & FileName);
		public:
			//! Constructor
			CPerspective_Game(video::jeRenderWindow * RenderWindow);

			//! Destructor
			~CPerspective_Game();

			//! Tick
			void Tick();

			//! On Update
			void OnUpdate();

			//! On Render
			void OnRender();

			//! Set Run
			void SetRun(u1 Mode);

			//! Return true if run
			u1 IsRun();
		};
	}
}

#endif
